module.exports = {
  preset: 'ts-jest',
  testEnvironment: 'jsdom',
  moduleNameMapper: {
    // 处理 Taro 的 H5 组件路径映射（关键配置！）
    '@tarojs/components$': '@tarojs/components/dist-h5/react',
    // 处理项目别名（根据你的实际路径配置）
    '@/(.*)': '<rootDir>/src/$1',
    // 处理样式文件（CSS/Less/Sass）
    '\\.(css|less|sass|scss)$': 'identity-obj-proxy'
  },
  transform: {
    '^.+\\.(js|jsx|ts|tsx)$': [
      'babel-jest',
      {
        presets: [
          ['taro', { framework: 'react' }], // Taro 4.x 框架配置
          '@babel/preset-env',
          '@babel/preset-typescript',
          '@babel/preset-react'
        ]
      }
    ]
  },
  transformIgnorePatterns: [
    '/node_modules/(?!@tarojs/)' // 排除 Taro 包外的 node_modules
  ],
  setupFilesAfterEnv: ['<rootDir>/src/jest.setup.js']
};
